<?php

/**
 * Description of TipoDAO
 *
 * @author Hiago
 */
class TipoDAO {

    public function inserir(Tipo $tipo) {
        $con = new bd();
        try {
            $con->beginTransaction();
            $stmt = $con->prepare("INSERT INTO `tipo` (`idTipo`,`descricao`) VALUES (?,?);");

            $dados = Array($tipo->getIdTipo(), $tipo->getDescricao());
            $stmt->execute($dados);
            $id = $con->lastInsertId();
            $con->ocorreramErros($stmt);
            $tipo->setIdTipo($id);
            $con->commit();
        } catch (Exception $ex) {
            $con->rollBack();
        }
    }

    public function getById($idTipo) {
        $con = new bd();
        $stmt = $con->prepare("SELECT `tipo`.`idTipo`, `tipo`.`descricao`
                               FROM `tipo` WHERE `tipo`.`idTipo` = ?;");
        $stmt->execute(Array($idTipo));
        $con->ocorreramErros($stmt);

        $r = $stmt->fetch();
        return new Tipo($r[0], $r[1]);
    }

    public static function listar() {
        $con = new bd();
        $stmt = $con->prepare("SELECT `tipo`.`idTipo`, `tipo`.`descricao`
                               FROM `tipo`;");
        $stmt->execute();
        $con->ocorreramErros($stmt);

        $tipos = Array();
        while ($r = $stmt->fetch()) {
            $tipos[] = new Tipo($r[0], $r[1]);
        }
        return $tipos;
    }

}

?>
